General Info | Template Language | WCTL Commands | WebX/Chat | WebX/Pro |
Release Notes | Standard Templates | URL Codes | WebX/Multi | FastCGI, NSAPI, ISAPI |
Visit the Web Crossing Conference to find a wealth of WebX info and a community of WebX experts on the Web!
Web Crossing provides alternative interfaces for some platforms and operating systems that offer better performance than the standard CGI interface. These interfaces avoid the overhead required to spawn a separate CGI process (webx-cgi on Unix, webx.exe on WindowsNT) each time a user accesses Web Crossing. The FastCGI interface uses the industry standard FastCGI protocol, while the NSAPI and ISAPI interfaces are designed specifically for Netscape and Microsoft Internet Information servers respectively.
If your Web server supports FastCGI, you should use it, because it is faster and uses fewer system resources than the standard CGI interface. FastCGI support is available for the Apache, Open Market, NCSA, and Stronghold Web servers. FastCGI can be used with Netscape servers through an NSAPI module that is available from Lundeen & Associates.
FastCGI must be used when running Web Crossing on a different host than the Web server.
Web Crossing will then be accessible via both FastCGI and the standard CGI script.
FastCGI is enabled by configuring Apache to map a file on the Web server to the Web Crossing FastCGI service:
cd [your CGI dir] touch WebX.fcgi chmod a+x WebX.fcgi
# FastCGI connections to Web Crossing ExternalAppClass /[absolute path of your CGI dir]/WebX.fcgi -host 127.0.0.1:8879 <Location /[your CGI dir]/WebX.fcgi> SetHandler fastcgi-script </Location>Use a file system path for the ExternalAppClass directive, and a URL path for the Location directive.
This ExternalAppClass directive maps WebX.fcgi to a Web Crossing server running on the same host as Apache. To map to a Web Crossing server on a different host, give the host's IP address in place of 127.0.0.1. You must use the same port number (8879 here) as that specified on the Web Crossing General Settings page. The Location and SetHandler directives tell Apache to find and use the FastCGI service for requests for WebX.fcgi.
The Web Crossing NSAPI to FastCGI interface is a custom Netscape Application Programming Interface program which allows for the use of FastCGI responder type applications with Netscape Web Servers.
This FastCGI interface connects to a FastCGI compliant application through TCP/IP. It then forwards all of the appropriate server information from a request to the FastCGI application and then correctly formats the response, sending it back to the browser. This NSAPI/FastCGI interface will work with most FastCGI compliant applications
Once installed, all access to your Web Crossing Server will be exactly as it was except that all access is now being provided by the FastCGI interface.
NOTE: This NSAPI Service acts also as a "Filter" and will only run for the URL that has the "Script" name specified in the obj.conf file at the end of the URI.
Installation of the FastCGI interface involves four separate steps:
The Windows NT installation consists of a single ".dll" file called "FastCgi.dll" and this help file.
obj.conf Modifications:
At the beginning of obj.conf in the Init section, add the following
line::
Init fn=load-modules shlib=FastCGI.dll funcs=fastcgi
Inside an object in obj.conf add the following to the BEGINNING of the
other Service directives:
Service method=(GET|HEAD|POST) type=* fn=fastcgi IP=xxx.yyy.zzz.www Port=3000
Script=/WebX
The IP parameter must be the IP address of the machine that is running
the Web Crossing Server.
The Port parameter must be the port number that is set in the Web Crossing
Sysop control panel, FastCGI settings.
The Script parameter is the script that you are currently using to access
Web Crossing.
NOTE: This file MUST exist in the correct place on your server, even
if the file is empty, as this bypasses the internal Netscapes checks to
see if a file exists prior to executing the Service directives.
The Unix installation consists of a single ".so" file called "fastcgi.so" and this help file.
obj.conf Modifications:
At the beginning of obj.conf in the Init section, add the following
line::
Init fn=load-modules shlib=fastcgi.so funcs=fastcgi
Inside an object in obj.conf add the following to the BEGINNING of the
other Service directives:
Service method=(GET|HEAD|POST) type=* fn=fastcgi IP=xxx.yyy.zzz.www Port=3000
Script=/WebX
The IP parameter must be the IP address of the machine that is running
the Web Crossing Server.
The Port parameter must be the port number that is set in the Web Crossing
Sysop control panel, FastCGI settings.
The Script parameter is the script that you are currently using to access
Web Crossing.
NOTE: This file MUST exist in the correct place on your server, even
if the file is empty, as this bypasses the internal Netscapes checks to
see if a file exists prior to executing the Service directives.
You may add an optional parameter to the "obj.conf" file to perform some error and timestamp logging to a file by inserting the following parameter: LogRequests=1 to the Service Directive parameters.
i.e.:
Service method=(GET|HEAD|POST) type=* fn=fastcgi IP=xxx.yyy.zzz.www Port=3000
Script=/WebX LogRequests=1
When this parameter is present, errors and timestamps are written to a log file named fastcgi.log.
Web Crossing Internet Information Server (IIS) API Interface is a plug-in module designed exclusively to work with Microsoft's IIS in conjuction with Web Crossing Server. This dynamically loaded library (.dll) provides the interface between the Web Crossing Server and the requests from users through their WWW browers. Initial tests have shown at least a 2X improvement in speed and access of the discussion forums in Web Crossing. It also allows a much larger message to be posted, bypassing the problems in IIS in terms of the length of posted messages.
The ISAPI version of the script program also acts as a filter for incoming URL requests to your server. This is activated through the NT Registry settings and is designed to allow older saved or cached bookmarks to continue to work without any effort of your users. It takes the old script name and converts it into the new name automatically. You will notice that eventually all of the links in Web Crossing will incorporate the new URL with "webx.dll".
Installation consists of copying the new file "webx.dll" into the same directory as the previous script file "webx.exe". This effectively replaces the standard method of accessing Web Crossing. Some settings in the NT registry must also be modified to work with Microsoft IIS.
The file "webx.dll" that came with this distribution must be copied to the right location in your normal server document directory. If your site URL is something like: http://www.yoursite.com/scripts/webx.exe? then you must copy the file "webx.dll" into the directory specified by your virtual directory "/scripts" on your hard disk. This is probably something like: "c:¥inetsrv¥scripts¥*". This should be the same location as your existing file "webx.exe".
A few changes must be made to the NT registry settings to allow the filter portion of the WebX.dll to work correcly. If you do not require the filter, then you may skip this section and the filter will not be activated.
Edit NT Registry Settings through Web Crossing Configuration
Edit NT Registry Settings Manually
You must restart Microsoft IIS WWW server so that the settings will be loaded correctly. Use the "Internet Service Manager" or the NT Services Control panel to stop and start the server.
© Copyright 1996-98 by Lundeen & Associates. All rights reserved.